package com.letv.whatslive.common.utils;

/**
 * Created by haojiayao on 15-12-15.
 */
public class CacheConstants {

    // 推荐列表缓存Key，后面需要拼上页号
    public static final String API_RECOMMEND_LIST = "api:recommendlist:";

    // 活动列表缓存Key，后面需要拼上页号
    public static final String API_ACTIVITY_LIST = "api:activitylist:";

    // 活动保存与更新缓存Key，后面需要拼上活动id
    public static final String API_ACTIVITY_JSON = "api:activityjson:";

    // 达人列表缓存Key，后面需要拼上页号
    public static final String API_TALENT_LIST = "api:talentlist:";

    // 同城列表缓存Key，后面需要拼上省_市_页号
    public static final String API_CITY_LIST = "api:citylist:";

    // 同城列表V2缓存Key，后面需要拼上省_市_页号
    public static final String API_CITY_LISTV2 = "api:citylistv2:";

    // 自定义分类列表缓存Key，后面需要拼上分类ID_页号
    public static final String API_TAG_LIST = "api:taglist:";

    // 自定义分类列表V2缓存Key，后面需要拼上分类ID_页号
    public static final String API_TAG_LISTV2 = "api:taglistv2:";

    // 活动详情列表缓存Key，后面需要拼上活动ID_页号
    public static final String API_ACTIVITY_CONTENT_LIST = "api:activitycontentlist:";

    // 个人信息缓存Key，后面需要拼上用户ID
    public static final String API_PRIVATE_USER_INFO = "api:privateuserinfo:";

    // 缓存过期时间:30秒
    public static final int CACHE_EXPIRE_TIME_SHORT = ObjectUtils.toInteger(PropertiesGetter.getValue("cache.expire.time.short"), 30);

    // 缓存过期时间:10分钟(600秒)
    public static final int CACHE_EXPIRE_TIME_LONG = ObjectUtils.toInteger(PropertiesGetter.getValue("cache.expire.time.long"), 600);

    // 缓存过期时间:1小时(3600秒)
    public static final int CACHE_EXPIRE_TIME_1_HOUR = 3600;

    // 点播播放地址信息，后面需要拼上视频ID(programID)
    public static final String API_REPLAY_PLAY_RUL_INFO = "api:replayvideoinfo:";

    // 第三方直播(rtmp轮播台)活动流信息，后面需要拼上视频ID(programID)
    public static final String API_THIRD_PARTY_ACTIVITY_STREAM_INFO = "api:thirdpartyactivitystreaminfo:";

    // 观看直播结束后直播推荐列表，后面需要拼上页号_API版本号
    public static final String API_LIVE_RECOMMEND_LIST = "api:liveRecommendList:";

    // 第三方APP用视频列表缓存Key，后面需要拼上APP ID_页号
    public static final String API_THIRD_PARTY_LIST = "api:thirdpartylist:";

    // 我的视频列表key，后面需要拼上页号
    public static final String API_MY_VIDEO_LIST = "api:myvideolist:";

    /**
     *轮播图缓存Key，后面需要拼上APP
     */
    public static final String CAROUSEL_IMAGESRCLIST_JSON="carousel_imagesrclist_json:";

    // 首页列表缓存Key，后面需要拼上页号
    public static final String API_INDEX_LIST = "api:indexlist:";

    // 预加载信息(HashMap)
    public static final String PRELOAD_INFO ="preloadinfo";

    // 预加载类型, 后续拼上设备类型(1:IOS 2:Android)
    public static final String PRELOAD_TYPE = "preloadtype:";

    // 预加载时间, 后续拼上设备类型(1:IOS 2:Android)
    public static final String PRELOAD_TIME = "preloadtime:";

    // 是否开启移动网络预加载, 后续拼上设备类型(1:IOS 2:Android)
    public static final String PRELOAD_FOR_MOBILE_NETWORK = "preloadformobilenetwork:";

    // 默认城市(获取不到用户所在地理位置时用)
    public static final String DEFAULT_CITY = "defaultcity";

    // 预加载白名单(HashMap)
    public static final String PRELOAD_WHITE_LIST ="preloadwhitelist";

    // 预加载高级白名单(HashMap)
    public static final String PRELOAD_ADVANCED_WHITE_LIST ="preloadadvancedwhitelist";

    // 嗨秀视频列表缓存Key，后面需要拼上直播展示区域代码_页号
    public static final String API_HISHOW_LIST = "api:hishowlist:";

    // 全民视频列表缓存Key，后面需要拼上直播展示区域代码_页号
    public static final String API_NATIONAL_LIST = "api:nationallist:";

    // 关注视频列表缓存Key，后面需要拼上直播展示区域代码_页号
    public static final String API_FOCUS_LIST = "api:focuslist:";

    // 广场页里展示的轮播台,list
    public static final String API_SQUARE_CAROUSELS = "api:squarecarousels";

    // 广场页里展示的活动,list
    public static final String API_SQUARE_ACTIVITYS = "api:squareactivitys";

    // 广场页里展示的分类,list
    public static final String API_SQUARE_ASSORTS = "api:squareassorts";

    // 广场页里展示的录播,list
    public static final String API_SQUARE_PROGRAMS = "api:squareprograms";

    // 广场页里展示的录播,list
    public static final String API_SQUARE_CAROUSELIMAGE = "api:squarecarouselimage";

    //系统自动取消推荐的轮播台缓存，
    public static final String UNSHOW_CAROUSEL_MAP = "unshowCarouselMap";

    // 关注视频ID列表缓存Key(zset)，后面需要拼上用户ID
    public static final String API_FOCUS_ID_LIST = "api:focusidlist:";

    //聊天室，用户聊天控制开关
    public static final String CHAT_CONF_USER_CHAT_FLAG = "chat:conf:user:chat:flag";

    //聊天室，用户聊天速率配置
    public static final String CHAT_CONF_USER_CHAT_RATE = "chat:conf:user:chat:rate";

    //直播观看人次缓存key(hash)
    public static final String PROGRAM_BASE_WATCHNUM="basewatchnum";

    //直播点赞数缓存key(hash)
    public static final String PROGRAM_BASE_LIKENUM="baselikenum";

    //开启观看人次增长开关的直播的id集合(hash) field：programId value:系统当前时间
    public static final String PROGRAM_BASEWATCHNUM_IDLIST="basewatchnumidmap";

    //观看人次增长开关的自定义增长数量（分钟）(hash)
    public static final String PROGRAM_BASEWATCHNUM_CUSTOMMAP="basewatchnumcustommap";

    //直播自定义评论Key（后面拼上直播Id）
    public static final String ROBT_LIVE_SPEC_COMMENT="robot_live_spec_comment_";

    // 视频信息，后面需要拼上id
    public static final String API_PROGRAM_INFO = "api:programinfo:";

    // 用户信息，后面需要拼上id
    public static final String API_USER_INFO = "api:userinfo:";

    // 回放信息，后面需要拼上id
    public static final String API_REPLAY_INFO = "api:replayinfo:";

    // 外部APP登录限流，后面需要拼上时间戳(秒级)
    public static final String API_EXTERNAL_APP_LOGIN_LIMIT = "api:externalapploginlimit:";

    // 嗨秀视频ID列表缓存Key(zset)，后面需要拼上直播展示区域代码
    public static final String API_HI_SHOW_ID_LIST = "api:hishowidlist:";

    // 全民视频ID列表缓存Key(zset)，后面需要拼上直播展示区域代码
    public static final String API_NATIONAL_ID_LIST = "api:nationalidlist:";

    // sdkTableList
    public static final String SDK_TABLE_LIST ="sdkTableList";

    // 上传视频播放地址信息，后面需要拼上视频ID(programID)_设备类型(1:IOS 2:Android)
    public static final String API_VIDEO_PLAY_RUL_INFO = "api:videoplayurlinfo:";

    //录播发生用户发生观看、点赞动作缓存，使用set存储
    public static final String CHAT_UNLIVE_WATCH_KEY = "chat:unlive:watch:set";
    //录播发生用户发生评论，送礼物动作缓存，使用set存储
    public static final String CHAT_UNLIVE_REPLAY_KEY = "chat:unlive:replay:set";


    //某个录播或者上传视频的观看人次缓存，需要拼上直播ID
    public static final String UNLIVE_ONLINE_WATCH_KEY = "unlive_online_watchCount_";

    //某个录播或者上传视频的赞数缓存，需要拼上直播ID
    public static final String UNLIVE_ONLINE_LIKE_KEY = "unlive_online_likenum_";

    //某个录播或者上传视频的评论数缓存，需要拼上直播ID
    public static final String UNLIVE_ONLINE_COMMENT_KEY = "unlive_online_commentnum_";

    //某个录播或者上传视频观看过当前直播的所有用户列表，使用hash结构，需要拼上直播ID，hash里面的key为用户id
    public static final String UNLIVE_ONLINE_TOTALUSER_KEY = "unlive_online_totaluser_hash_";

    //某个录播或者上传视频的真实观看人次缓存，需要拼上直播ID
    public static final String UNLIVE_ONLINE_REAL_WATCH_KEY = "unlive_online_real_watchCount_";

    //某个录播或者上传视频的真实用户赞数缓存，需要拼上直播ID
    public static final String UNLIVE_ONLINE_REAL_LIKE_KEY = "unlive_online_real_likenum_";

    //某个录播或者上传视频的真实用户评论数缓存，需要拼上直播ID
    public static final String UNLIVE_ONLINE_REAL_COMMENT_KEY = "unlive_online_real_commentnum_";

    //观看过某个录播或者上传视频的所有真实用户列表，使用hash结构，需要拼上直播ID
    public static final String UNLIVE_ONLINE_REAL_TOTALUSER_KEY = "unlive_online_real_totaluser_hash_";

    //实名认证的常用国家和地区
    public static final String REAL_NAME_AUTHENTICATION_COMMON_COUNTRYCODE_KEY = "real_name_authentication_common_countrycode_key";

    /**
     * 微店缓存accessToken，后面需要拼上店铺ID
      */
    public static final String API_VD_ACCESSTOKEN = "api:vd_accessToken:";

    //直播推荐商品ID，后面需要拼上直播ID，value存放商品的json
    public static final String LIVE_RECOMMEND_ITEM_KEY = "live_recommend_item_";

    // 活动详情列表V2缓存Key，后面需要拼上活动ID_页号
    public static final String API_ACTIVITY_CONTENT_LIST_V2 = "api:activitycontentlistv2:";

    //用户身份审核全局开关(0:关，1开)
    public static final String IDENTITYAUDIT_GLOBAL_SWITCH="identityaudit_global_switch";

    // hls轮播台流信息，后面需要拼上视频ID(programID)
    public static final String API_HLS_CROUSEL_STREAM_INFO_ANDROID = "api:hlscarouselstreaminfoandroid:"; // Android
    public static final String API_HLS_CROUSEL_STREAM_INFO_IOS = "api:hlscarouselstreaminfoios:"; // IOS

}
